const express=require('express');
const userService=require('../services/userService');
const cookieParser=require('cookie-parser');
const cookieSession=require('cookie-session');

//前端验证和路由转发
var router=express.Router();


//不需要用名字的地方都可以用箭头函数,不用写function
router.post('/register',async (req,res,next)=>{
    var user=req.query;
    if (user==undefined||user=={}||user==[]){
        res.send({success:false,msg:'用户名与密码不能为空'});
    }else {
        data=await userService.addUser(user);
        if (data.success){
            return {success:true,user:data.user};
        }else {
            return data;
        }
    }
});

router.post('/login',async (req,res,next)=>{
    var user=req.body;
    var cookies=req.cookies;
    // console.log(cookies);
    if (user==undefined||user=={}||user==[]){
        res.send({success:false,msg:'用户名与密码不能为空'});
    }else {
        var data=await userService.login(user);
        //登录成功要进行session与cookie
        if (data.success){
            //登录成功，对cookie进行操作，同时也对session进行操作
            if (user.remember=='true'){
                res.cookie("user",data.user,{maxAge:7*24*60*60*1000});
            }
            //登录之后立即记录
            req.session.user=data.user;
        };
        res.send(data);
    }
})

//用户退出时清除session
router.use('/logout',(req,res)=>{
    var user=req.session['user'];
    // console.log('function log out !!!!!');
    if (user==null||user=={}||user==undefined){
        res.send('Havn\'t login in!');
    }else{
        //清除session
        req.session.destroy(function(err) {
            res.redirect('/');
        })
        // req.session.destroy();
        req.send('log out success!');

        // res.send('/views/index.html');

        // res.redirect('../../index.html');
    }
})

exports.router=router;